//package com.sqx.modules.utils.typeHandler;
//
//import com.fasterxml.jackson.core.JsonProcessingException;
//import com.fasterxml.jackson.databind.ObjectMapper;
//import com.sqx.modules.recovery.entity.GoodsSpecifications;
//
//import javax.persistence.AttributeConverter;
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * @description：TODO
// * @author： qiao
// * @create： 2024/10/15 15:04
// */
//public class AttributeValueConverter implements  AttributeConverter<List<GoodsSpecifications.AttributeValue>, String>{
//
//    @Override
//    public String convertToDatabaseColumn(List<GoodsSpecifications.AttributeValue> attributeValue) {
//        if (attributeValue == null) {
//            return null;
//        }
//        ObjectMapper objectMapper = new ObjectMapper();
//        try {
//            return objectMapper.writeValueAsString(attributeValue);
//        } catch (JsonProcessingException e) {
//            throw new RuntimeException("Failed to serialize attributeValue", e);
//        }
//    }
//
//    @Override
//    public List<GoodsSpecifications.AttributeValue> convertToEntityAttribute(String attributeValueJson) {
//        if (attributeValueJson == null || attributeValueJson.isEmpty()) {
//            return new ArrayList<>();
//        }
//        ObjectMapper objectMapper = new ObjectMapper();
//        try {
//            return objectMapper.readValue(attributeValueJson, objectMapper.getTypeFactory().constructCollectionType(List.class, GoodsSpecifications.AttributeValue.class));
//        } catch (IOException e) {
//            throw new RuntimeException("Failed to deserialize attributeValueJson", e);
//        }
//    }
//}
